Tracing Program Transformations with String Origins

نویسندگان

  • Pablo Inostroza
  • Tijs van der Storm
  • Sebastian Erdweg
چکیده

Program transformations play an important role in domain-specific languages and model-driven development. Tracing the execution of such transformations has well-known benefits for debugging, visualization and error reporting. In this paper, we introduce string origins, a lightweight, generic and portable technique to establish a tracing relation between the textual fragments in the input and output of a program transformation. We discuss the semantics and the implementation of string origins using the Rascal meta programming language as an example. We illustrate the utility of string origins by presenting data structures and operations for tracing generated code, implementing protected regions, performing name resolution and fixing inadvertent name capture in generated code.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

DReX: A Declarative Language for Efficiently Computable Regular String Transformations

We present DReX, a declarative language that can express all regular string-to-string transformations, and yet can be evaluated efficiently. The class of regular string transformations has a robust theoretical foundation including multiple characterizations, closure properties, and decidable analysis questions, and admits a number of string operations such as insertion, deletion, substring swap...

متن کامل

Learning String Transformations From Examples

“Robert” and “Bob” refer to the same first name but are textually far apart. Traditional string similarity functions do not allow a flexible way to account for such synonyms, abbreviations and aliases. Recently, string transformations have been proposed as a mechanism to make matching robust to such variations. However, in many domains, identifying an appropriate set of transformations is chall...

متن کامل

Tracing Lazy Functional Languages

We argue that Ariola and Felleisen's and Maraist, Odersky and Wadler's call-by-need lambda calculus forms a suitable formal basis for tracing evaluation in lazy functional languages. 1 Tracing functional languages One major advantage of pure, and especially lazy, functional languages over more conventional imperative languages is in not having to directly and completely specify the order of exe...

متن کامل

String Descriptions of Data for Display

A Picture Description Language (PDL) and a Picture Calculus have been developed for the formal description and manipulation of pictures. A display program which utilizes PDL string descriptions as the principal data structure has been developed. This display program permits the generation of drawings on a computer-controlled cathode ray tube and allows transformations according to the rules of ...

متن کامل

ar X iv : h ep - t h / 93 09 06 7 v 1 1 0 Se p 19 93 Strings , Loops , Knots and Gauge Fields

The loop representation of quantum gravity has many formal resemblances to a background-free string theory. In fact, its origins lie in attempts to treat the string theory of hadrons as an approximation to QCD, in which the strings represent flux tubes of the gauge field. A heuristic path-integral approach indicates a duality between background-free string theories and generally covariant gauge...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014